package cn.topevery.garden.entity.vo;

import cn.afterturn.easypoi.excel.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import java.io.Serializable;
import java.time.LocalDate;
import java.time.LocalDateTime;

/**
 *  视图
 *
 * @author code-generate
 * @date 2021-08-06
 */
@Data
@ApiModel(value = "Person 视图", description = " 视图")
public class PersonVO implements Serializable{
    /**
     * 自增id
     */
    private Integer id;

        /**
     * 姓名
     */
    @ApiModelProperty(value = "姓名")
    @Excel(name = "姓名", orderNum = "0")
    @NotBlank(message = "[姓名]不能为空")
    private String name;

    /**
     * 社保号
     */
    @ApiModelProperty(value = "社保号")
    @Excel(name = "社保号", orderNum = "0")
    private String security;

    /**
     * -1：停用，0：闲置，1：审核中，2：在职，3：离职
     */
    @ApiModelProperty(value = "-1：停用，0：闲置，1：审核中，2：在职，3：离职")
    @Excel(name = "工作状态", orderNum = "0",replace = {"停用_-1","闲置_0","审核中_1","在职_2","离职_3",})
    public Integer workState;

    /**
     * 工作状态
     */
    @ApiModelProperty(value = "工作状态")
//    @Excel(name = "工作状态", orderNum = "0")
    private String workStateDesc;

    /**
     * 人员类型ID t_pserson_class.c_id
     */
    @ApiModelProperty(value = "人员类型ID t_pserson_class.c_id")
    @Excel(name = "人员类型ID t_pserson_class.c_id", orderNum = "0")
    private Integer type;

    /**
     * 人员类型
     */
    @ApiModelProperty(value = "人员类型")
//    @NotBlank(message = "[人员类型]不能为空")
    @Excel(name = "人员类型", orderNum = "0")
    private String typeName;

    /**
     * 所在项目组ID t_company_team.c_id
     */
    @ApiModelProperty(value = "所在项目组ID t_company_team.c_id")
    @Excel(name = "所在项目组ID t_company_team.c_id", orderNum = "0")
    private Integer teamId;

    /**
     * 身份证附件ID
     */
    @ApiModelProperty(value = "身份证附件ID")
    @Excel(name = "身份证附件ID", orderNum = "0")
    private String fileId;

    /**
     * 创建时间
     */
    @ApiModelProperty(value = "创建时间")
    @Excel(name = "创建时间", orderNum = "0")
    private LocalDateTime dbCreateDate;

    /**
     *  对应t_sys_user.c_id
     */
    @ApiModelProperty(value = " 对应t_sys_user.c_id")
    @Excel(name = " 对应t_sys_user.c_id", orderNum = "0")
    private Integer dbCreateId;

    /**
     * 最后更新时间
     */
    @ApiModelProperty(value = "最后更新时间")
    @Excel(name = "最后更新时间", orderNum = "0")
    private LocalDateTime dbLastUpdateDate;

    /**
     *  对应t_sys_user.c_id
     */
    @ApiModelProperty(value = " 对应t_sys_user.c_id")
    @Excel(name = " 对应t_sys_user.c_id", orderNum = "0")
    private Integer dbLastUpdateId;

    /**
     * 片区Id  t_extent.c_id
     */
    @ApiModelProperty(value = "片区Id  t_extent.c_id")
    @Excel(name = "片区Id  t_extent.c_id", orderNum = "0")
    private Integer extentId;

    /**
     * 片区
     */
    @ApiModelProperty(value = "片区")
    @Excel(name = "片区", orderNum = "0")
    private String extentName;

    /**
     * 公园Id t_park.c_id
     */
    @ApiModelProperty(value = "公园Id t_park.c_id")
    @Excel(name = "公园Id t_park.c_id", orderNum = "0")
    private Integer parkId;

    /**
     * 公园
     */
    @ApiModelProperty(value = "公园")
    @Excel(name = "公园", orderNum = "0")
    private String parkName;

    /**
     * 标段Id
     */
    @ApiModelProperty(value = "标段Id")
    @Excel(name = "标段Id", orderNum = "0")
    private Integer sectionId;

    /**
     * 标段名称
     */
    @ApiModelProperty(value = "标段名称")
    @Excel(name = "标段名称", orderNum = "0")
    private String sectionName;

    /**
     * 性别
     */
    @ApiModelProperty(value = "性别")
    @Excel(name = "性别", orderNum = "0",replace = {"男_1","女_0"})
    private Integer userSex;
    /**
     * 出生日期
     */
    @ApiModelProperty(value = "出生日期")
    @Excel(name = "出生日期", orderNum = "0")
    private LocalDate userBirthday;
    /**
     * 身份证号码
     */
    @ApiModelProperty(value = "身份证号码")
    @Excel(name = "身份证号码", orderNum = "0")
    private String userIdcard;
    /**
     * 手机号
     */
    @ApiModelProperty(value = "手机号")
    @NotBlank(message = "[手机号]不能为空")
    @Excel(name = "手机号", orderNum = "0")
    private String userMobile;

    /**
     * 用户表关联id
     */
    @ApiModelProperty(value = "用户表关联id")
    @Excel(name = "用户表关联id", orderNum = "0")
    public String userId ;

    @ApiModelProperty(value = "头像fileId")
    private String imgFileId;

    @ApiModelProperty(value = "任务id")
    private Integer taskId;

    @ApiModelProperty(value = "设备 Id")
    private Integer gpsId;

    @ApiModelProperty(value = "设备编号")
    private String clientKey;

    @ApiModelProperty(value = "在线状态（0：离线，1：在线）")
    private Integer onlineType;

    @ApiModelProperty(value = "在线时长")
    private Integer onlineTime;

    @ApiModelProperty(value = "有效时长")
    private Integer validTime;

    @ApiModelProperty(value = "有效里程")
    private Integer validMileage;

    @ApiModelProperty(value = "手机号")
    private String userTelephone;

    @ApiModelProperty(value = "部门id")
    private String deptId;

    private double geoX;

    private double geoY;

    /**
     * 班次ID
     */
    public Integer shiftId ;
}
